The invention relates to adaptive filters, and in particular, to fast affine projection (FAP) adaptive filters providing a stability of operation, and methods of stable FAP adaptive filtering.
Adaptive filtering is a digital signal processing technique that has been widely used in technical areas such as, e.g., echo cancellation, noise cancellation, channel equalization, system identification and in products like, e.g., network echo cancellers, acoustic echo cancellers for full-duplex handsfree telephones and audio conference systems, active noise control, data communications systems.
The characteristics of an adaptive filter are determined by its adaptation algorithm. The choice of the adaptation algorithm in a specific adaptive filtering system directly affects the performance of the system.
Being simple and easily stable, the normalized least mean square (NLMS) adaptation algorithm, being a practical implementation of the least mean square (LMS) algorithm, is now most widely used in the industry with a certain degree of success.
However, because of its intrinsic weakness, the NLMS algorithm converges slowly with colored training signals like the speech, an important class of signals most frequently encountered in many applications such as telecommunications. The performance of systems incorporating NLMS adaptive filters very often suffers from the slow convergence nature of the algorithm. Other known algorithms proposed so far are either too complicated to implement on a commercially available low-cost digital signal processor (DSP) or suffer from numerical problems. Recently, a fast affine projection (FAP) method was proposed as described in a publication by Steven L. Gay and Sanjeev Tavathia (Acoustic Research Department, ATandT Bell Laboratories), xe2x80x9cThe Fast Affine Projection Algorithm,xe2x80x9d pp. 3023-3026, Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, May 1995, Detroit, Mich., U.S.A. The FAP is a simplified version of the more complicated, and therefore impractical, affine projection (AP) algorithm. With colored train signals such as the speech, the FAP usually converges several times faster than the NLMS, with only a marginal increase in implementation complexity.
However, a stability issue has been preventing FAP from being used in the industry. A prior art FAP implementation oscillates within a short period of time even with floating-point calculations. This results from the accumulation of finite precision numerical errors in a matrix inversion process associated with the FAP. Researchers have been trying to solve this problem, but no satisfactory answer has been found so far. A remedy proposed in the publication listed above and reinforced in publication by Q. G. Liu, B. Champagne, and K. C. Ho (Bell-Northern Research and INRS-Txc3xa9lxc3xa9communications, Universitxc3xa9 du Quxc3xa9bec), xe2x80x9cOn the Use of a Modified Fast Affine Projection Algorithm in Subbands for Acoustic Echo Cancellation,xe2x80x9d pp. 354-357, Proceedings of 1996 IEEE Digital Signal Processing Workshop, Loen, Norway, September 1996, is to periodically re-start a new inversion process in parallel with the old one, and to use it to replace the latter so as to get rid of the accumulated numerical errors therein. While this can be a feasible solution for high-precision DSPs such as a floating-point processor, it is still not suitable for fixed-point DSP implementations because then the finite precision numerical errors would accumulate so fast that the re-starting period would have to be made impractically small, not to mention the extra complexity associated with this part of the algorithm.
Therefore there is a need in the industry for development of alternative adaptive filtering methods which would ensure stability of operation while providing fast convergence and reliable results.
It is an object of the present invention to provide an adaptive filter and a method of adaptive filtering which would avoid the afore-mentioned problems.
According to one aspect of the present invention there is provided a method of adaptive filtering, comprising the steps of:
(a) determining adaptive filter coefficients;
(b) updating the coefficients provided a normalized step size is close to unity, the updating step comprising:
determining an auto-correlation matrix coefficients from a reference input signal, the coefficients of the inverse of the auto-correlation matrix being projection coefficients;
determining projection coefficients by using a descending iterative method having an inherent stability of operation, the projection coefficients being used for updating the filter coefficients;
(c) repeating the step (b) required number of times.
Advantageously, determining of the auto-correlation matrix is performed recursively. The normalized step size is chosen to be less than unity. Preferably, it equals unity. Conveniently, the normalized step size is within a range from about 0.9 to 1.0. In some applications, it may be chosen from a range from about 0.7 to 1.0.
In the embodiments of the invention a problem of finding the inverse of an auto-correlation matrix is reduced to a problem of solving a system of linear equations based on the auto-correlation matrix. The system is solved by one of descending iterative methods which provide inherent stability of operation due to an intrinsic feedback adjustment. As a result inevitable numerical errors are not accumulated. First and second embodiments use steepest descent and conjugate gradient methods respectively. Alternatively, other known descending methods, e.g. Newton""s method, PARTAN or quasi-Newton""s method may also be used.
The method is suitable for a variety of applications, e.g. echo cancellation, noise cancellation, channel equalization, system identification which are widely used in products such as network echo cancellers, acoustic echo cancellers for full-duplex handsfree telephones and audio conference systems, active noise control systems, data communication systems.
According to another aspect of the invention there is provided an adaptive filter, comprising:
a filter characterized by adaptive filter coefficients;
a means for updating the coefficients, the means being set with a normalized step size close to its maximal value and comprising:
a correlator for determining an auto-correlation matrix coefficients from a reference input signal, the coefficients of the inverse of the auto-correlation matrix being projection coefficients;
a calculator for determining projection coefficients by using a descending iterative method having an inherent stability of operation, the projection coefficients being used for updating the filter coefficients.
Advantageously, the calculator is a recursive calculator. Preferably, the calculator is a steepest descent or a conjugate gradient calculator. Alternatively, it may be a calculator performing a Newton""s or quasi-Newton""s method, a PARTAN calculator, or another known iterative descending calculator providing an inherent stability of operation.
Conveniently, the filter and the updating means are capable of operating with real numbers. Alternatively, they may be capable of operating with complex numbers.
The adaptive filter as described above may be used for echo cancellation, noise cancellation, channel equalization, system identification or other applications where adaptive filtering is required.
According to another aspect of the invention there is provided a method of adaptive filtering, comprising the steps of:
(a) determining adaptive filter coefficients;
(b) updating the coefficients provided a normalized step size is close to unity, the updating step comprising:
recursively determining an auto-correlation matrix coefficients from a reference input signal, coefficients in the first column of the inverse of the auto-correlation matrix being projection coefficients;
determining the projection coefficients from a system of linear equations whose solution coincides with the projection coefficients, the system being based on the auto-correlation matrix and solved by a descending iterative method having an inherent stability of operation, the projection coefficients being used for updating the filter coefficients;
(c) repeating the step (b) the requires number of times.
According to yet another aspect of the invention there is provided an adaptive filter, comprising:
a filter characterized by adaptive filter coefficients;
a means for updating the coefficients, the means being set with a normalized step size close to unity and comprising:
a correlator for recursively determining an auto-correlation matrix coefficients from a reference input signal, the first column of the inverse of the auto-correlation matrix forming projection coefficients;
a calculator for determining the projection coefficients from a system of linear equations whose solution coincides with the projection coefficients, the system being based on the auto-correlation matrix and solved by a descending iterative method having an inherent stability of operation, the projection coefficients being used for updating the adaptive filter coefficients.
The adaptive filter and method described above have an advantage over known FAP adaptive filters by providing a stability of operation. The problem caused by error accumulation in matrix inversion process existing in known FAP filters is solved in the present invention by using iterative descending methods. First, the matrix inversion operation is reduced to a solution of a corresponding system of linear equations based on the auto-correlation matrix. Second, the iterative descending methods, used for the solution of the above system, provide an inherent stability of operation due to an intrinsic feedback adjustment. As a result, inevitable numerical errors are not accumulated, thus providing stability of adaptive filtering.